package cn.tedu.jdbc;

import java.sql.*;
import java.util.Scanner;

/**
 * @Author: Miyako
 * @Date: 2024-07-30-17:42
 * @Description: 校验类，用于核对数据
 */
public class JDBCCheckDate {
    private Connection c;
    JDBCCheckDate() {
    }
    JDBCCheckDate(Connection c) throws SQLException {
        this.c = c;
    }

    /**
     * @param: username:用户注册输入的用户名
     * @return: 没有返回值没重复就继续执行，重复就结束注册
     * @description:校验用户名与密码是否与数据库内的匹配
     **/
    public void CheckIsExists(String username) {
        try {
            PreparedStatement p = c.prepareStatement("SELECT username,password from userinfo where username=? ");
            p.setString(1, username);
            ResultSet resultSet = p.executeQuery();//查询
            if (!resultSet.next()) {
                System.out.println("用户名不存在请您继续注册!");
            } else {
                System.out.println("用户名已存在，不可以注册！");
                System.exit(-1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
}
/**
 * @param:username 用于校验用户名 , password 用于校验密码
 * @return:
 * @description:账号密码校验模块，用户登录时在这里校验
 **/
    public void CheckLoginDate(String username , String password){
        try( PreparedStatement pr = c.prepareStatement("SELECT nickname,vip " +
                "from userinfo w" +
                "here username=? " +
                "and password = ?")){
            pr.setString(1,username);
            pr.setString(2,password);
            ResultSet resultSet = pr.executeQuery();
            String string=null;
            String state = "0";

            if (!resultSet.next())
                System.out.println("用户或密码错误，没有这个用户");
            else {
                string = resultSet.getString("nickname");
                state = resultSet.getString("vip");
                if ("1".equals(state))
                    System.out.println("欢迎尊贵的"+string+"vip会员用户登录！");
                else
                    System.out.println("欢迎普通的"+string+"不是vip会员的穷鬼登录！");
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}
